package com.tfswx.fljdmxyy.dao;

import com.tfswx.fljdmxyy.model.ZzjgXtDw;
import com.tfswx.fljdmxyy.query.dwgl.DwxxQueryParam;
import com.tfswx.fljdmxyy.query.dwgl.DwxxQueryResult;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 单位
 *
 * @Author 陈文佳
 * @Date 2023/03/24
 */
@Mapper
public interface ZzjgXtDwMapper {
    /**
     * 新增单位
     *
     * @param param 新增单位入参
     * @return Integer 影响条数
     */
    Integer insertZzjgXtDw(ZzjgXtDw param);

    /**
     * 删除单位
     *
     * @param param 删除单位入参
     * @return Integer 影响条数
     */
    Integer deleteZzjgXtDw(ZzjgXtDw param);

    /**
     * 修改单位
     *
     * @param param 修改单位入参
     * @return Integer 影响条数
     */
    Integer updateZzjgXtDw(ZzjgXtDw param);

    /**
     * 查询单位
     *
     * @param param 查询单位入参
     * @return ZzjgXtDw 单位
     */
    ZzjgXtDw getZzjgXtDw(ZzjgXtDw param);

    /**
     * 查询单位列表
     *
     * @param param 查询单位列表入参
     * @return List<ZzjgXtDw> 单位列表
     */
    List<ZzjgXtDw> queryZzjgXtDw(ZzjgXtDw param);

    /**
     * 查询本单位及下级单位
     *
     * @param param 查询本单位及下级单位入参
     * @return List<DwxxQueryResult> 本单位及下级单位列表
     */
    List<DwxxQueryResult> queryDwlb(DwxxQueryParam param);
}
